7 research outputs found

    Retrofitting parallelism onto OCaml.

    Get PDF
    OCaml is an industrial-strength, multi-paradigm programming language, widely used in industry and academia. OCaml is also one of the few modern managed system programming languages to lack support for shared memory parallel programming. This paper describes the design, a full-fledged implementation and evaluation of a mostly-concurrent garbage collector (GC) for the multicore extension of the OCaml programming language. Given that we propose to add parallelism to a widely used programming language with millions of lines of existing code, we face the challenge of maintaining backwards compatibility--not just in terms of the language features but also the performance of single-threaded code running with the new GC. To this end, the paper presents a series of novel techniques and demonstrates that the new GC strikes a balance between performance and feature backwards compatibility for sequential programs and scales admirably on modern multicore processors

    Multicast least cost anypath routing : route cost calculations and forwarding

    No full text
    A wireless network may route packets more efficiently if forwarding decisions are taken based on which downstream nodes actually receive packets from the source or intermediate nodes. This is used for unicast transmissions in Opportunistic Routing (OR) and Least Cost Anypath Routing (LCAR). Here, we extend the LCAR approach to support multicasting from one source to multiple destinations. Multicast cost metrics are calculated and used to determine the forwarder set and the forwarding strategy so that packets can reach all the destination nodes efficiently. Semi-optimal and simpler heuristic approaches are suggested both for calculating the multicast route costs to the destination set and all its subsets and for the packet transmission and forwarding strategy
    corecore